Gaze-assisted touchscreen inputs

ABSTRACT

Embodiments related to gaze-assisted touchscreen inputs are disclosed. In some embodiments, a computing system may receive a gaze location signal indicative of a region of a user&#39;s gaze on a touchscreen, receive a touch signal indicative of a touch of the user on the touchscreen, and generate an input signal for the computing system based at least in part on the gaze location signal and the touch signal. Other embodiments may be disclosed and/or claimed.

CROSS REFERENCE TO RELATED APPLICATION

The present application is a national phase entry under 35 U.S.C. §371of International Application No. PCT/US2013/068125, filed Nov. 1, 2013,entitled “GAZE-ASSISTED TOUCHSCREEN INPUTS,” which designated, among thevarious States, the United States of America, and which is herebyincorporated by reference.

TECHNICAL FIELD

The present disclosure relates generally to the field of dataprocessing, and more particularly, to gaze-assisted touchscreen inputs.

BACKGROUND

Users of touchscreen-based devices (such as tablets and smartphones) areoften frustrated by the devices' limited ability to differentiatebetween different kinds of touches and to respond in unexpected ways tostray touches. Additionally, when users view these devices at unusualangles (e.g., from the extreme right or left of the device), touchaccuracy is compromised by the parallax effect, in which the desiredlocation of touch does not align with the actual location of touch.These performance limitations may significantly reduce a user's qualityof experience with touchscreen devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments will be readily understood by the following detaileddescription in conjunction with the accompanying drawings. To facilitatethis description, like reference numerals designate like structuralelements. Embodiments are illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings.

FIG. 1 is a block diagram of an illustrative computing system configuredfor gaze-assisted touchscreen inputs, in accordance with variousembodiments.

FIG. 2 is a block diagram of an illustrative gaze-assisted touchscreeninput system that may be implemented by the computing system of FIG. 1,in accordance with various embodiments.

FIG. 3 illustrates a scenario for the generation of a gaze locationsignal when a user views a touchscreen of the computing system of FIG.1, in accordance with various embodiments.

FIG. 4 illustrates a region of a user's gaze on the touchscreen of thecomputing system of FIG. 1, in accordance with various embodiments.

FIGS. 5 and 6 illustrate a region of a user's gaze, touches and displaysrendered on the touchscreen of the computing system of FIG. 1 before andafter processing of touch signals of a user, in accordance with variousembodiments.

FIG. 7 illustrates two users viewing the touchscreen of the computingsystem of FIG. 1, in accordance with various embodiments.

FIGS. 8 and 9 illustrate gaze regions, touches and displays rendered onthe touchscreen of the computing system of FIG. 1 before and afterprocessing of touch signals of two users, in accordance with variousembodiments.

FIG. 10 illustrates a scenario for the generation of a position signalwhen a user views the touchscreen of the computing system of FIG. 1, inaccordance with various embodiments.

FIGS. 11 and 12 illustrate displays rendered on the touchscreen of thecomputing system of FIG. 1 before and after processing of a positionsignal, in accordance with various embodiments.

FIG. 13-15 are flow diagrams of illustrative processes for generatinggaze-assisted touchscreen inputs, in accordance with variousembodiments.

DETAILED DESCRIPTION

Embodiments related to gaze-assisted touchscreen inputs are disclosed.In some embodiments, a computing system may receive a gaze locationsignal indicative of a region of a user's gaze on a touchscreen, receivea touch signal indicative of a touch of the user on the touchscreen, andgenerate an input signal for the computing system, based at least inpart on the gaze location signal and the touch signal.

In the following detailed description, reference is made to theaccompanying drawings which form a part hereof wherein like numeralsdesignate like parts throughout, and in which is shown by way ofillustration embodiments that may be practiced. It is to be understoodthat other embodiments may be utilized and structural or logical changesmay be made without departing from the scope of the present disclosure.Therefore, the following detailed description is not to be taken in alimiting sense.

Various operations may be described as multiple discrete actions oroperations in turn, in a manner that is most helpful in understandingthe claimed subject matter. However, the order of description should notbe construed as to imply that these operations are necessarily orderdependent. In particular, these operations may not be performed in theorder of presentation. Operations described may be performed in adifferent order than the described embodiment. Various additionaloperations may be performed and/or described operations may be omittedin additional embodiments.

For the purposes of the present disclosure, the phrase “A and/or B”means (A), (B), or (A and B). For the purposes of the presentdisclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B),(A and C), (B and C), or (A, B and C).

The description uses the phrases “in an embodiment,” or “inembodiments,” which may each refer to one or more of the same ordifferent embodiments. Furthermore, the terms “comprising,” “including,”“having,” and the like, as used with respect to embodiments of thepresent disclosure, are synonymous. As used herein, the phrase “coupled”may mean that two or more elements are in direct physical or electricalcontact, or that two or more elements are not in direct contact witheach other, but yet still cooperate or interact with each other (e.g.,via one or more intermediate elements, which may perform their owntransformations or have their own effects). For example, two elementsmay be coupled to each other when both elements communicate with acommon element (e.g., a memory device). As used herein, the term “logic”may refer to, be part of, or include an Application Specific IntegratedCircuit (ASIC), an electronic circuit, a processor (shared, dedicated,or group) and/or memory (shared, dedicated, or group) that execute oneor more software or firmware programs, a combinational logic circuit,and/or other suitable components that provide the describedfunctionality. As used herein, a signal may be “received” by a componentif it is generated externally or internally to that component, andacknowledged and/or processed by that component.

FIG. 1 depicts an illustrative computing system 100 configured forgaze-assisted touchscreen inputs, in accordance with variousembodiments. In some embodiments, the computing system 100 may beconfigured to receive a gaze location signal indicative of a region of auser's gaze on a touchscreen of the computing system, receive a touchsignal indicative of a touch of the user on the touchscreen, andgenerate an input signal for the computer system, based at least in parton the gaze location signal and the touch signal. The computing system100 may include a personal computing device 102, a touchscreen 104, anda remote computing device 106. Each of the personal computing device102, the touchscreen 104 and the remote computing device 106 may includegaze-assisted touchscreen input components (illustrated in FIG. 1 asgaze-assisted touchscreen input components 114, 116 and 118,respectively). Gaze-assisted touchscreen input operations may bedistributed between the gaze-assisted touchscreen input components 114,116 and 118 of the computing system 100 as suitable. Several examples ofthe distribution of gaze-assisted touchscreen input operations betweenthe personal computing device 102, the touchscreen 104 and the remotecomputing device 106 are discussed herein, but any other combination ofmore or fewer components, and any other distribution of the operations,may be used. For example, in some embodiments, the gaze-assistedtouchscreen input component 114 or the gaze-assisted touchscreen inputcomponent 118 may be omitted, and all suitable gaze-assisted touchscreeninput operations (e.g., any of those described herein) may be performedby the remaining gaze-assisted touchscreen input component(s). In someembodiments, the computing system 100 may be configured as thegaze-assisted touchscreen input system 200 discussed below withreference to FIG. 2. Except for the gaze-assisted touchscreen inputteachings of the present disclosure incorporated therein, the personalcomputing device 102, the touchscreen 104, and the remote computingdevice 106 may be a broad range of such devices known in the art.Specific, but not limiting, examples are described below.

Communication between the components of the computing system 100 may beenabled by the communication pathways 108, 110 and 112. Thecommunication pathways 108, 110 and 112 may each include wiredcommunication pathways and/or wireless communication pathways, overdirect couplings, and/or over personal, local and/or wide area networks.Each of the personal computing device 102, the touchscreen 104 and theremote computing device 106 may include suitable hardware for supportingthe communication pathways 108, 110 and 112, such as network interfacecards, modems, WiFi devices, Bluetooth devices, and so forth. In someembodiments, the communication pathways 108, 110 and 112 may be directcommunication pathways between the components as illustrated in FIG. 1.As used herein, references to “direct” communication pathways betweentwo components of the computing system 100 of FIG. 1 (or any system ordevice disclosed herein) may refer to a communication pathway that doesnot route through another illustrated component, but that may routethrough other non-illustrated devices (e.g., routers and/or switches).

Each of the devices included in the computing system 100 may include aprocessing device and a storage device (not shown). The processingdevice may include one or more processing devices, such as one or moreprocessing cores, ASICs, electronic circuits, processors (shared,dedicated, or group), combinational logic circuits, and/or othersuitable components that may be configured to process electronic data.The storage device may include any suitable memory or mass storagedevices (such as solid-state drive, diskette, hard drive, compact discread only memory (CD-ROM) and so forth). Each of the computing devicesincluded in the computing system 100 may include one or more buses (andbus bridges, if suitable) to communicatively couple the processingdevice, the storage device, and any other devices included in therespective computing devices. The storage device may include a set ofcomputational logic, which may include one or more copies of computerreadable media having instructions stored therein which, when executedby the processing device of the computing device, may cause thecomputing device to implement any of the techniques and methodsdisclosed herein, or any portion thereof. In some embodiments, thecomputational logic may include any of the logic discussed below withreference to FIG. 2.

Although illustrated as three separate components in FIG. 1, thepersonal computing device 102, the touchscreen 104, and the remotecomputing device 106 may be combined or divided in any desired manner.For example, in some embodiments of the computing system 100, thepersonal computing device 102 may be a tablet or smartphone, and thetouchscreen 104 may be integral to the tablet or smartphone (e.g.,forming a surface of the tablet or smartphone). In some embodiments, thetouchscreen 104 may be a standalone device (e.g., a drawing tablet) andthe personal computing device 102 may be a desktop computer configuredto perform gaze-assisted touchscreen input operations (such as thosedescribed herein) based on touch data transmitted from the touchscreen104 to the personal computing device 102 through a wired or wirelesscommunication pathway 108. A number of additional combinations aredescribed herein.

The personal computing device 102 may be a computing device that isintegrated into a garment, accessory or other support structure that isconfigured to be worn on the body of the user (or “wearer”). Examples ofsuitable support structures for a wearable personal computing device 102may include glasses, a headset, a hair accessory (e.g., a headband orbarrette), an ear piece, jewelry (e.g., brooch, earrings or a necklace),a wrist band (e.g., a wristwatch), a neck band (e.g., a tie or scarf), agarment (e.g., a shirt, pants, dress skirt or jacket), shoes, a lanyardor nametag, a contact lens, or an implantable support structure, amongothers. In some embodiments, the personal computing device 102 may be awearable computing device including an image capture device (e.g., theimage capture device 232 of FIG. 2, discussed below). In someembodiments, the personal computing device 102 may be a wrist-mountedcomputing device having an image capture device. In some embodiments,the personal computing device 102 may be a glasses-mounted computingdevice having an image capture device facing the wearer. In someembodiments, the personal computing device 102 may be a wearablecomputing that includes a “world-facing” image capture device (i.e., animage capture device directed away from the wearer).

The personal computing device 102 may be a desktop or stand-alonecomputing device, or a computing device configured for carrying in apocket, backpack or other carrying case, and for operation with one ormore of a user's hands. Examples of computing devices that may serve asthe personal computing device 102 include cellular phones, smartphones,other handheld mobile communication devices, tablets, electronic bookreaders, personal digital assistants, laptops, or other such computingdevices. Although the personal computing device 102 (and othercomponents described herein) may be referred to in the singular, anynumber of personal computing devices may be included in the personalcomputing device 102 (and similarly, any component may include multiplesuch components).

Image processing and other operations performed by the personalcomputing device 102 may be controlled by an app or plug-in on thepersonal computing device 102, for example. In some embodiments, thepersonal computing device 102 may include two or more computing devices,one of which has more computing resources (e.g., processing power,memory, and/or communication bandwidth) than another. For example, thepersonal computing device 102 may include a larger tablet computingdevice and a smaller wrist- or glasses-mounted computing device. In suchembodiments, data captured and preliminarily processed by the smallercomputing device (e.g., image, audio, or other sensor data) may betransmitted from the smaller computing device to, the larger computingdevice for further processing.

The computing system 100 may include a touchscreen 104. As used herein,a “touchscreen” may include a device that provides a screen on which avisual display is rendered that may be controlled by contact with auser's finger or other contact instrument (e.g., a stylus). For ease ofdiscussion, the primary contact instrument discussed herein may be auser's finger, but any suitable contact instrument may be used in placeof a finger. Non-limiting examples of touchscreen technologies that maybe used to implement the touchscreen 104 include resistive touchscreens,surface acoustic wave touchscreens, capacitive touchscreens,infrared-based touchscreens, and any other suitable touchscreentechnology.

The touchscreen 104 may include suitable sensor hardware and logic togenerate a touch signal. A touch signal may include informationregarding a location of the touch (e.g., one or more sets of (x,y)coordinates describing an area, shape or skeleton of the touch), apressure of the touch (e.g., as measured by area of contact between auser's finger or a deformable stylus and the touchscreen 104, or by apressure sensor), a duration of contact, any other suitable information,or any combination of such information. In some embodiments, thetouchscreen 104 may be configured to stream the touch signal to thepersonal computing device 102 and/or the remote computing device 106 viaa wired or wireless communication pathway (e.g., the pathways 108 and112, respectively). In some embodiments, as noted above, the touchscreen104 may be connected locally to (or integrated with) the personalcomputing device 102.

The remote computing device 106 may include one or more servers (e.g.,arranged in a “cloud” computing configuration) or other computingdevices remote from the personal computing device 102 and/or thetouchscreen 104. The communication pathway 110 between the personalcomputing device 102 and the remote computing device 106, andcommunication pathway 112 between the touchscreen 104 and the remotecomputing device 106, may be configured according to any remote wired orwireless communication protocol. In some embodiments, the remotecomputing device 106 may have more computing resources (e.g., processingpower, memory, and/or communication bandwidth) than the personalcomputing device 102 or the touchscreen 104. Thus, in some embodiments,data captured and preliminarily processed by the personal computingdevice 102 and/or the touchscreen 104 (e.g., touch data embodied in atouch signal) may be transmitted over the communication pathways 110and/or 112 to the remote computing device 106 for further processing. Insome embodiments, the remote computing device 106 may perform most ofthe gaze-assisted touchscreen input operations discussed below withreference to FIG. 2. In some embodiments, the remote computing device106 may include a storage device for storing touch signals, gazelocation signals (discussed below), or any other data that may beaccessed when the computing system 100 performs a gaze-assistedtouchscreen input operation in accordance with the techniques disclosedherein.

In some embodiments of the gaze-assisted touchscreen input systemsdisclosed herein, one or more of the communication pathways betweencomponents of the computing system 100 may not be included. For example,in some embodiments, the touchscreen 104 may not communicate directlywith the remote computing device 106 via the communication pathway 112,but may communicate with the remote computing device 106 via thepersonal computing device 102 and the communication pathways 108 and110.

FIG. 2 is a block diagram of an illustrative gaze-assisted touchscreeninput system 200, in accordance with various embodiments. The system 200may include input/output (I/O) devices 228, processing logic 202, and astorage device 226. The system 200 may be implemented by the computingsystem 100 of FIG. 1, in accordance with various embodiments. Inparticular, the components of the system 200 may be distributed in anysuitable manner among one or more of the components of the computingsystem 100. Components of the system 200 may be described as implementedby the computing system 100 for illustrative purposes, but the system200 may be implemented by any suitably configured computing device orcollection of computing devices. In some embodiments, the system 200 maybe implemented by the personal computing device 102 of the computingsystem 100. In some such embodiments, the touchscreen 104 may beintegral to the personal computing device 102.

The system 200 may be configured to perform any of a number ofgaze-assisted touchscreen input operations. For example, the system 200may be configured to receive a touch signal indicative of a touch of auser on a touchscreen of the system 200, receive a gaze location signalindicative of a region of a user's gaze on the touchscreen, and generatean input signal based at least in part on the gaze location signal andthe touch signal. The input signal may, e.g., be provided to anoperating system of the system 200, an application running on the system200, another device in communication with the system 200, or any othercomponent internal or external to the system 200.

Although a number of components of the system 200 are illustrated inFIG. 2, various embodiments may omit components as appropriate for thegaze-assisted touchscreen input operations to be performed. For example,in some embodiments, the system 200 may not include the gaze locationlogic 204, but may be coupled with the gaze location logic 204 (embodiedin, e.g., a separate device) via a wired or wireless communicationpathway so as to be able to receive signals from and/or send signals tothe gaze location logic 204. In another example, in some embodiments,the system 200 may not include the touch detection logic 206, but may becoupled with the touch detection logic 206 (embodied in, e.g., aseparate device) via a wired or wireless communication pathway so as tobe able to receive signals from and/or send signals to the touchdetection logic 206. In another example, some embodiments of the system200 may not be configured for display adjustment (as discussed below),and thus may not include the viewing position logic 212 and/or thedisplay adjustment logic 216.

As noted above, the system 200 may include the I/O devices 228. The I/Odevices 228 may include a touchscreen 104, an image capture device 232and other devices 234. The touchscreen 104 may take the form of any ofthe embodiments discussed above with reference to FIG. 1.

In some embodiments, the image capture device 232 may include one ormore cameras. As used herein, the term “camera” may include still imagecameras and video cameras. A camera may be analog or digital. In someembodiments, the image capture device 232 may capture high-definitionvideo. In some embodiments, the image capture device 232 may beconfigured to stream image data (e.g., video data) to the personalcomputing device 102 and/or the remote computing device 106 via a wiredor wireless communication pathway (e.g., the pathways 108 and 112,respectively). In some embodiments, the image capture device 232 may beconnected locally to (or integrated with) the personal computing device102, while in other embodiments, the image capture device 232 may beremote from the personal computing device 102.

The image capture device 232 may use any imaging wavelength (e.g.,visible or infrared light). In some embodiments, the image capturedevice 232 may include a visible light camera and an infrared camera,and may combine the images captured by these devices or treat themseparately. In some embodiments, the image capture device 232 mayinclude two or more cameras having different orientations (e.g., onecamera that is mounted on a wearable personal computing device 102 andfaces away from the user in a “world-facing” orientation, and one camerathat is mounted on the personal computing device 102 and faces towardthe user when the personal computing device 102 is in use). In someembodiments, the image capture device 232 may include a single imagecapture device (e.g., a single camera).

The image capture device 232 may include an array camera, in whichmultiple lenses enable simultaneous capture of multiple images of thesame subject. Each image captured by an array camera may vary byexposure time, focal distance, white balance, etc. The image capturedevice 232 may include a processing device which is configured toexecute any known technique for combining the images or provide variousimage browsing experiences (e.g., in conjunction with other componentsof the computing system 100). In some embodiments, the image capturedevice 232 may include a depth camera, which may provide informationabout the depth of various objects in the imaged scene. Some depthcameras may use a time-of-flight technique to determine depthinformation.

In some embodiments, the image capture device 232 may be mounted on orproximate to the touchscreen 104, and may capture one or more images ofa user of the touchscreen 104. These images may be used to determine aregion of the user's gaze (e.g., as discussed below with reference tothe gaze location logic 204) and/or to determine a position of theuser's eyes relative to the touchscreen 104 (e.g., as discussed belowwith reference to the viewing position logic 212). In some embodiments,the image capture device 232 may be mounted in a wearable personalcomputing device 102 that attaches on or near a user's eyes, and maycapture images of the touchscreen 104 while the touchscreen 104 is beingused. These images may be used to determine a region of the user's gaze(e.g., as discussed below with reference to the gaze location logic 204)and/or to determine a position of the user's eyes relative to thetouchscreen 104 (e.g., as discussed below with reference to the viewingposition logic 212).

The other devices 234 included in the I/O devices 228 may include anysuitable input, output or storage devices, for example. Devices that maybe included in the other devices 234 may include proximity sensors(which may be mounted in a user's glasses and in the touchscreen 104,and may generate a signal indicative of the distance between the user'seyes and the touchscreen 104), one or more microphones (which may bemounted on or proximate to the touchscreen 104 and may triangulate theposition of the user's head based on analysis of the user's voice), orany other suitable devices. In some embodiments, the other devices 234may include one or more light sources that may operate in conjunctionwith the image capture device 232 to generate visible, infrared or othertypes of light during image capture to aid in the identification ofvarious features in the image. For example, some known eye trackingtechniques use one or more infrared LEDs to provide illumination of auser's face and generate reflections on the surface of the cornea. Thereflections may be used to locate the eye and the center of the corneain the image.

As noted above, the system 200 may include the processing logic 202. Theprocessing logic 202 may include a number of logic components. In someembodiments, the processing logic 202 may include gaze location logic204. The gaze location logic 204 may be configured to generate a gazelocation signal indicative of a region of a user's gaze on thetouchscreen 104. A region of a user's gaze may include the one or morelocations on the touchscreen 104 which are viewed with the highestacuity region of the user's eyes. In some embodiments, the processinglogic 202 may include image capture logic 210, which may be coupled tothe gaze location logic 204 and may be configured to receive an image ofthe user's eyes from the image capture device 232. The gaze locationlogic 204 may be configured to generate the gaze location signal basedat least in part on the image received from the image capture device232.

FIG. 3 depicts two views 302 and 304 of a scenario for the generation ofa gaze location signal when a user 306 views the touchscreen 104 of thesystem 200, in accordance with various embodiments. In particular, thetouchscreen 104 is shown as included in the personal computing device102 (which may be, for example, a smartphone or tablet device). The gazeof the user 306 may be directed to the touchscreen 104, and inparticular, to a region 312 on the touchscreen 104. The user's eyes 310may be located at a distance z above the touchscreen 104 in a directionperpendicular to a surface of the touchscreen 104. The angle α1 mayrepresent the angle at which the pupil 308 is directed, as measured fromthe horizontal plane 314 of the eyes 310. The angle α2 may represent theangle at which the pupil 308 is directed, as measured from the verticalplane 316 of the user's eyes 310. The user's gaze may be characterizedby the distance z, and the angles α1 and α2, and the location signal(indicative of the gaze region 312) generated by the gaze location logic204 accordingly.

The angles and distances represented in FIG. 3 are simply illustrative,and the gaze location logic 204 may use any suitable measurements fromany suitable devices to determine the gaze region 312. Existingtechnologies for eye tracking include some which use multiple camerasarranged to capture images of, a user's eyes in a stereo configurationthat enables the use of triangulation techniques to determine distancefrom the camera arrangement. Some technologies employ a physical modelof the eye, which may include reflection and refraction properties ofthe cornea, the location of the center of the pupil and the center ofcurvature of the cornea, the offset of the fovea from the optical axis,the radius of curvature of the cornea, and other physical parameters.Any suitable gaze tracking technology may be implemented by the gazelocation logic 204.

The gaze region 312 may be characterized in any of a number of ways. Insome embodiments, the gaze region 312 may be characterized as a point onthe touchscreen 104. In some such embodiments, the gaze location signalmay represent the coordinates of the point in a coordinate system forthe touchscreen 104 (e.g., (x,y) coordinates in a two-dimensionalcoordinate system in the plane of the touchscreen 104). In someembodiments, the gaze region 312 may be characterized as an area of thetouchscreen 104. The area may have any suitable shape. For example, thegaze region 312 may be a circle, and the gaze location signal mayrepresent coordinates of the center of the circle and may also representthe radius of the circle. In another example, the gaze region 312 may bean ellipse, and the gaze location signal may represent coordinates ofthe foci of the ellipse and the lengths of the major and minor axes ofthe ellipse. FIG. 4 illustrates an elliptical gaze region 312 on thetouchscreen 104, having a major axis 402, a minor axis 404, and a center406. In another example, the touchscreen 104 may be partitioned into anumber of labeled rectangles or other polygons, and the gaze region mayinclude one or more of these partitions. The boundaries and labels ofthe partitions may be stored in the storage device 226. In some suchembodiments, the gaze location signal may represent the labels of eachpartition included in the gaze region. In another example, the gazeregion 312 may have any shape (e.g., an irregular shape), and the gazelocation signal may represent coordinates of the perimeter of the gazeregion 312. The gaze location logic 204 may use any suitablecharacterization of the gaze region 312. The shape and/or size of thegaze region 312 may depend on the precision with which the gaze locationlogic 204 is able to determine where the gaze of the user 306 isdirected. For example, the gaze location logic 204 may identify anelliptical gaze region with a minor axis corresponding to a direction inwhich the gaze of the user 306 may be determined with greater precisionand a major axis corresponding to a direction in which the gaze of theuser 306 may be determined with lesser precision.

In some embodiments, the processing logic 202 may include touchdetection logic 206. The touch detection logic 206 may be configured togenerate a touch signal indicative of a touch of a user on thetouchscreen 104. A touch signal may include information regarding alocation of the touch (e.g., one or more sets of (x,y) coordinatesdescribing an area, shape or skeleton of the touch), a pressure of thetouch (e.g., as measured by area of contact between a user's finger or adeformable stylus and the touchscreen 104, or by a pressure sensor), aduration of contact, any other suitable information, or any combinationof such information.

In some embodiments, the processing logic 202 may include inputregistration logic 208. The input registration logic 208 may be coupledto the gaze location logic 204 and the touch detection logic 206. Theinput registration logic 208 may be configured to receive the gazelocation signal from the gaze location logic 204 and to receive thetouch signal from the touch detection logic 206. The input registrationlogic 208 may also be configured to generate an input signal based atleast in part on the gaze location signal and the touch signal. As usedherein, an “input signal” may be any signal provided as a user input. Aninput signal may be provided to a hardware or software component of thesystem 200 and/or to a hardware or software component of a deviceseparate from the system 200. Examples of input signals may include auser's touch on a particular portion of the touchscreen 104 and theproperties of that touch. Other examples of input signals may be asignal indicating a user selection of a particular option displayed onthe touchscreen 104, the user invocation of a particular functionthrough contact with the touchscreen 104, or any other signal indicativeof a user input. In some embodiments, the input signal generated by theregistration logic 208 may be generated at the operating system level ofthe system 200. For example, an operating system of the system 200 maybe configured to generate touch signals that can be queried or otherwisemonitored by applications running in the operating system (e.g., a mapapplication may include a function that re-centers the map in responseto a user tap at a particular location, and information about the tapand the location of the tap may be provided by an operating system-levelfunction invoked by the map application). In such embodiments, the inputregistration logic 208 may evaluate touch signals at the operatingsystem level before they are provided to applications, and thereby mayserve to “filter” such touch signals. In some embodiments, the inputregistration logic 208 may operate at the application level, and may beused by a particular application to “filter” or otherwise process touchsignals provided to the application by the operating system-levelfunctions.

In some embodiments, the input registration logic 208 may be configuredto generate the input signal through selection of one of a plurality ofpredetermined touch types based at least in part on the touch signal.Examples of predetermined touch types include a tap, a swipe, a pinch,and a spread. A tap may include a momentary single contact between thetouchscreen 104 and a user (e.g., through a single finger or stylus). Aswipe may include an extended single contact between the touchscreen 104and the user over a line or curve (e.g., as may be useful when a usermoves her finger from right to left to turn a page of a book rendered onthe touchscreen 104). A pinch may include two simultaneous points ofcontact between the touchscreen 104 and the user, with those points ofcontact drawn together on the surface of the touchscreen 104 (e.g., asmay be useful when a user brings her fingers closer together on thetouchscreen 104 to zoom into a portion of a displayed webpage). A spreadmay include two simultaneous points of contact, between the touchscreen104 and the user, with those points of contact drawn apart on thesurface of the touchscreen 104. Other examples of touch types includepress-and-hold, rotate, and slide-and-drag, for example. Different touchtypes may be associated with different regions of the touchscreen 104;for example, a “flick” touch type may be recognized by the system 200when the user touches a point proximate to an edge of the touchscreen104 and quickly and briefly slides her finger toward the interior of thetouchscreen 104. Characteristics of various touch types may be stored inthe storage device 226, and may be accessed by the input registrationlogic 208 (e.g., when the input registration logic 208 compares areceived touch signal to the stored characteristics of various touchtypes in order to select a touch type that best corresponds to thereceived touch signal). In some embodiments, as discussed below, theinput signal generated by the input registration logic 208 may indicatewhich touch type is associated with a detected touch.

In some embodiments, the input registration logic 208 may be configuredto select one of the plurality of predetermined touch types based atleast in part on the touch signal and the gaze location signal. As notedabove, in some embodiments, the touch types stored in the storage device226 may include one or more non-gaze-associated types and one or moregaze-associated types. A non-gaze-associated type may be a touch typewhose location on the touchscreen does not typically correspond with theuser's gaze region. In other words, a non-gaze-associated typerepresents a touch action that a user will perform without looking atthe portion of the touchscreen on which the touch action is performed.In some embodiments, a swipe may be a non-gaze-associated type, in thatusers do not typically look at the same region of the touchscreen inwhich they're performing a swipe, A pinch may be another example of anon-gaze-associated type. A gaze-associated type may be a touch typewhose location on the screen does typically correspond with the user'sgaze region. In some embodiments, a tap may be a gaze-associated type,in that users typically look at the same region of the touchscreen inwhich they are tapping.

Whether a touch type is gaze-associated or non-gaze-associated may varydepending upon the context (e.g., depending upon which application isexecuting on the system 100 and displaying a user interface on thetouchscreen 104). For example, some applications may use a swipe touchtype in different regions of the touchscreen 104 to indicate userselection of various options. In such applications, a swipe touch typemay be gaze-associated in that a user will typically look to the regionof the touchscreen 104 corresponding to her selection. In otherapplications, a swipe touch type may be used to unlock a portion of auser interface (e.g., a control panel) or move to a previous document ina sequence of documents, for example. In such applications, a swipetouch type may not be gaze-associated, meaning that users will oftenlook at regions of the screen other than the touched region whenperforming the swipe. The storage device 226 may store information aboutwhether various touch types are gaze-associated or non-gaze-associatedin various contexts (e.g., in various applications, operating systems,or other operating environments).

In some embodiments, the input registration logic 208 may be configuredto select a touch type based on the gaze location signal by selecting atouch type that is gaze-associated or non-gaze-associated depending onthe relative locations of the touch and the gaze region. In particular,the input registration logic 208 may determine, based at least in parton the touch signal, that the touch was located outside of the gazeregion. In response to this determination, the input registration logic208 may select a non-gaze-associated touch type for the touch. In someembodiments, in response to a determination by the input registrationlogic 208 that the touch was located within the gaze region, the inputregistration logic may select a gaze-associated or non-gaze-associatedtouch type for the touch.

For example, FIG. 5 illustrates the gaze region 312 and several touches502, 504 and 506 on the touchscreen 104. The touches 502 and 504 mayrepresent touches that have a short duration and are highly localizedrelative to the extended contact area of the touch 506. In someembodiments, the touch detection logic 206 may analyze thecharacteristics of the touches 502, 504 (e.g., against a set ofpredetermined touch types stored in the storage device 226, as discussedabove) and may select a preliminary touch type for each of the touches502, 504 and 506 before any gaze location information is available,received and/or processed. In some embodiments, this preliminarydetermination may be made by the input registration logic 208; for easeof illustration, this preliminary determination will be discussed asperformed by the touch detection logic 206. For example, the touchdetection logic 206 may determine that the touches 502 and 504 are bestclassified as “taps” based on the duration of contact and the area ofcontact, while the touch 506 is best classified as a “slide.” The touchdetection logic 206 (or the input registration logic 208, asappropriate) may generate a preliminary touch type signal for each ofthese touches indicative of the corresponding touch type.

The input registration logic 208 may receive the preliminary touch typesignals (or may receive the touch signals from the touch detection logic206 without preliminary touch type Identification) and may determinewhether a location of each touch is within the gaze region 312. If atouch location is not within the gaze region 312, the input registrationlogic 208 may select a non-gaze-associated touch type for that touch. Ifa touch location is within the gaze region 312, the input registrationlogic 208 may select a gaze-associated or a non-gaze associated-touchtype for that touch. For example, as illustrated in FIG. 5, the touch502 is located within the gaze region 312. If a tap is a gaze-associatedtouch type, and the characteristics of the touch 502 are compatible withthe characteristics of a tap (e.g., as stored in the storage device226), the input registration logic 208 may generate an input signalindicating that the touch 502 is a tap.

The touch 504, however, is not located within the gaze region 312. If atap is a gaze-associated touch type, the input registration logic 208may not generate an input signal indicating that the touch 504 is a tapeven if the non-location characteristics of the touch 504 (e.g., thearea and duration of contact) are compatible with the characteristics ofa tap. Instead, the input registration logic 208 may seek another touchtype compatible with the characteristics of the touch 504. If nosuitable touch type can be found, the input registration logic 208 mayselect a “none” type. In some embodiments, the input registration logic206 may select a “none” type by ignoring the touch 504 for the purposesof generating an input signal (e.g., the touch 504 may be treated as anincidental contact between the user and the touchscreen 104).

As further illustrated in FIG. 5, the touch 506 is located outside thegaze region 312. However, if the characteristics of the touch 506 arecompatible with the characteristics of a slide (e.g., as stored in thestorage device 226), and if a slide is a non-gaze-associated touch type,the input registration logic 208 may generate an input signal indicatingthat the touch 506 is a slide.

In some embodiments, the input registration logic 208 may not require atouch to be strictly within a gaze region for the touch to be designatedas a gaze-associated touch type. For example, a touch may be partiallywithin the gaze region and partially outside of the gaze region. Inanother example, a touch may commence within the gaze region and endoutside of the gaze region. In another example, a touch need only bewithin a predetermined distance of the gaze region to be designated as agaze-associated touch type (if appropriate). The predetermined distancemay be an absolute distance (e.g., 1 centimeter), a relative distance(e.g., within a distance of a gaze region less than or equal to 10% of aradius of the gaze region), or any other suitable distance.

Returning to FIG. 2, in some embodiments, the processing logic 202 mayinclude display logic 214. The display logic 214 may be coupled to thetouchscreen 104, and may be configured to cause the display of variousvisual elements on the touchscreen 104. In some embodiments, the displaylogic 214 may be coupled to the input registration logic 208, and may beconfigured to cause the display, on the touchscreen 104, of one or morevisual elements based on the input signal generated by the inputregistration logic 208.

For example, FIG. 5 illustrates a display 500 on the touchscreen 104that may be provided by the display logic 214. As shown in FIG. 5, thedisplay 500 may include multiple visual elements, such as the letterblocks 508 and the theme change area 510. If the input registrationlogic 208 generates a “tap” input signal in response to the touch 502,as discussed above, the display logic 214 may cause the display, on thetouchscreen 104, of a visual element based on this input signal. Such avisual element is shown in the display 600 of FIG. 6 as the shaded box602. If the input registration logic 208 generates a “slide” inputsignal in response to the touch 506, as discussed above, the displaylogic 214 may cause the display, on the touchscreen 104, of a visualelement based on this input signal. Such a visual element is shown inthe display 600 as the theme graphic 604, which may replace the themegraphic 512 of the display 500.

In some embodiments, the gaze location logic 204 may be configured togenerate multiple gaze location signals, each corresponding to adifferent user viewing the touchscreen 104. The touch detection logic206 may be configured to generate multiple touch signals, eachcorresponding to different touches on the touchscreen 104. In someembodiments, the input registration logic 208 may be configured toreceive the multiple location signals and the multiple touch signals,and determine which touch signals correspond to which users by comparingthe locations of the touch signals to the gaze regions for each user. Inparticular, the input registration logic 208 may be configured toreceive location signals corresponding to the gaze regions of each oftwo or more users, receive a touch signal, identify the gaze regionclosest to the location of the touch signal, and associate the touchsignal with the user corresponding to the closest gaze region. In someembodiments, the input registration logic 208 may receive multiple touchsignals, associate the touch signals with different users based on theproximity of the locations of the touch signals to different gazeregions (indicated by different gaze location signals), and generatemultiple different input signals based at least in part on the receivedgaze location signals and the received touch signals. In someembodiments, the touch detection logic 206 may generate the multipletouch signals at least partially in parallel. In some embodiments, theinput registration logic 208 may generate the multiple input signals atleast partially in parallel.

FIG. 7 illustrates first and second users 702 and 704 viewing thetouchscreen 104 (as shown, included in the personal computing device102). The gaze of the first user 702 may be directed to a first region706 on the touchscreen 104, and the gaze of the second user 704 may bedirected to a second region 708 on the touchscreen 104. The first andsecond gaze regions 706 and 708 are illustrated as superimposed on thedisplay 800 of the touchscreen 104 in FIG. 8. As illustrated in FIG. 8,the first and second gaze regions 706 and 708 may have different shapes,and may have different locations on the touchscreen 104. The gazelocation logic 204 may generate first and second gaze location signalsindicative of the first and second gaze regions 706 and 708, and mayprovide these gaze location signals to the input registration logic 208.

FIG. 8 also illustrates two touches 802 and 804. As shown, the touch 802falls within the first gaze region 706. In some embodiments, the inputregistration logic 208 may be configured to receive the first gazelocation signal (indicative of the first gaze region 706), receive thefirst touch signal (indicative of the touch 802) and determine that thetouch 802 falls within the first gaze region 706. In response to thatdetermination, the input registration logic 208 may determine that thetouch 802 was performed by the first user 702, and may generate an inputsignal associated with the first user 702. The input registration logic208 may also be configured to receive the second gaze location signal(indicative of the second gaze region 708), receive the second touchsignal (indicative of the touch 804) and determine that the touch 804falls at least partially within the second gaze region 708. In responseto that determination, the input registration logic 208 may determinethat the touch 804 was performed by the second user 704, and maygenerate an input signal associated with the second user 704.

In some embodiments, the input registration logic 208 may receive touchsignals indicative of the touches 802 and 804 in parallel, in rapidsuccession, or in any suitable order relative to receipt of the gazelocation signals indicative of the first and second gaze regions 706 and708. Thus, the input registration logic 208 may evaluate all receivedtouch signals (e.g., within a given window of time) against all receivedgaze location signals to determine which touch signals may correspondwith the same user as a particular gaze location signal. In the exampleof FIG. 8, the input registration logic 208 may determine that the touch802 is closer to the first gaze region 706 than to the second gazeregion 708, and in response, determine that the touch 802 is notassociated with the second user 704. Alternately, the input registrationlogic 208 may determine that the touch 802 is farther than apredetermined distance away from the second gaze region 708, and inresponse, determine that the touch 802 is not associated with the seconduser 704.

In embodiments in which the input registration logic 208 generatesdifferent input signals corresponding to different users, the displaylogic 214 may be configured to cause the display, on the touchscreen104, of a first visual element based at least in part on the first inputsignal and a second visual element based at least in part on the secondinput signal. The first and second visual elements may be displayedsimultaneously.

Returning to FIG. 8, the display 800 also includes first and secondvisual elements 806 and 808. The first and second visual elements 806and 808 of FIG. 8 are avatars, and may represent player characters in acomputer game or representatives in a virtual world environment, forexample. The first visual element 806 may be associated with the firstuser 702 (e.g., the first visual element 806 may be a player charactercontrolled by the first user 702) and the second visual element 808 maybe associated with the second user 704. In some embodiments, in responseto receiving the first and second gaze location signals and the touchsignals indicative of the touches 802 and 804, the input registrationlogic 208 may generate an input signal indicating that the first user702 wishes to move the first visual element 806 to the location of thetouch 802 and an input signal indicating that the second user 704 wishesto move the second visual element 808 to the location of the touch 804.In response to these input signals, the display logic 214 may cause thedisplay 900 of FIG. 9 on the touchscreen 104. As shown in FIG. 9, thefirst visual element 806 is relocated to the location 902 of the touch802 and the second visual element 808 is relocated to the location 904of the touch 804. In this manner, the input registration logic 208 maydistinguish input signals from multiple users on a single touchscreen,and may enable multi-user computing applications such as game playing,editing of documents, simultaneous web browsing, or any other multi-userscenario.

Returning to FIG. 2, in some embodiments, the processing logic 202 mayinclude viewing position logic 212. The viewing position logic 212 maybe coupled to the input registration logic 208 and may generate aposition signal indicative of a position of the user's eyes relative tothe touchscreen 104. In some embodiments, the viewing position logic 212may be coupled to the image capture logic 210, and may be configured togenerate the position signal based at least in part on an image of theuser's eyes received from the image capture device 232.

FIG. 10 depicts two views 1002 and 1004 of a scenario for the generationof a position signal when a user 1006 views the touchscreen 104 (shownas included in the personal computing device 102). The user's eyes 1010may be located at a distance z above the touchscreen 104 in a directionperpendicular to a surface of the touchscreen 104. A reference point1008 may be defined on the touchscreen 104 (or in any location whoseposition is defined with reference to the touchscreen 104). In someembodiments, the reference point 1008 may be a point at which the imagecapture device 232 is located on the personal computing device 102. Theangle 131 may represent the angle at which the user's eyes 1010 arelocated, as measured from the horizontal plane 1014 of the surface ofthe touchscreen 104. The angle 132 may represent the angle at which thecenter point 1018 between the user's eyes 1010 is located, as measuredfrom the vertical plane 1016 of the reference point 1008. The positionof the user's eyes may be characterized by the distance z, and theangles 131 and 132, and the position signal generated accordingly by theviewing position logic 212.

The angles and distances represented in FIG. 10 are simply illustrative,and the viewing position logic 212 may use any suitable measurements todetermine the position of the user's eyes for generating the positionsignal. For example, some existing technologies use images of the user'sface, captured by an image capture device 232 mounted in a knownposition relative to the touchscreen 104, to create a three-dimensionalmodel of landmarks on the user's face, and thereby determine theposition of the user's eyes relative to the touchscreen 104. In someembodiments, one or more devices may be included in a head-mounteddevice (e.g., radio frequency identification tags included in a pair ofglasses), and these devices may communicate with cooperating devicesmounted on or proximate to the touchscreen 104 (e.g., radio frequencyidentification tag readers) to determine the relative position betweenthe user's eyes and the touchscreen 104 (e.g., based on the strength ofthe radio frequency signals detected). Any known technique for headposition modeling may be implemented by the viewing position logic 212.

In some embodiments, the processing logic 202 may include displayadjustment logic 216. The display adjustment logic 216 may be coupled tothe viewing position logic 212, and may be configured to generate anadjustment signal indicative of a desired visual distortion based atleast in part on the position signal generated by the viewing positionlogic 212. In particular, the display adjustment logic 216 may beconfigured to determine an angle at which the user is viewing thetouchscreen 104 (e.g., based on the position signal generated by theviewing position logic 212) and generate an adjustment signal to correctthe display by visually distorting the displayed elements so that theyappear to the user the same as they would appear if the user wereviewing the touchscreen 104 in a direction perpendicular to a surfaceplane of the touchscreen 104. As used herein, “an angle at which theuser is viewing the touchscreen” may include one or more angularmeasurements representing the position of the user's eyes relative to anaxis that is perpendicular to the surface plane of the touchscreen. Forexample, an angle may include two angular measurements. In someembodiments, the display adjustment logic 216 may be configured togenerate the adjustment signal in order to correct the apparentdistortion of a display on the touchscreen 104 that occurs when a userviews the touchscreen 104 from an angle other than an angleperpendicular to the surface plane of the touchscreen 104. Certainexamples of this distortion may be referred to as the “keystone effect”or “tombstone effect.” FIG. 11 illustrates an example of thisdistortion. In FIG. 11, a desired display 1100 is displayed (e.g., bythe display logic 214) on the touchscreen 104. However, when thetouchscreen 104 is viewed from an angle other than perpendicular to thesurface plane of the touchscreen 104 (e.g., as illustrated by theperspective view 1102), the display 1100 will appear distorted. Inparticular, as illustrated in FIG. 11, the portion 1104 of the display1100 closer to the user will be enlarged relative to the portion 1106 ofthe display 1100 farther from the user.

The display adjustment logic 216 may be configured to use the positionsignal generated by the viewing position logic 212 to generate anadjustment signal indicative of a distortion of the display 1100 so thata user viewing the touchscreen 104 from the position indicated by theposition signal will see the display 1100 appropriately dimensioned. Inparticular, the display logic 214 may be coupled with the displayadjustment logic 216, and may be configured to cause the display, on thetouchscreen 104, of one or more visual elements distorted in accordancewith the adjustment signal generated by the display adjustment logic216. For example, FIG. 12 illustrates a display 1200 that may begenerated by the display logic 214 based on the adjustment signalgenerated by the viewing position logic 212. The display 1200 may bedistorted with respect to the desired display 1100. However, when thedisplay 1200 is rendered on the touchscreen 104, a user viewing thetouchscreen 104 from the position indicated by the position signal willsee the perspective view 1202, correctly rendering the desired display1100 to the user. In some embodiments, the display adjustment logic 216may include a threshold of distortion such that, unless the user'sposition indicates that the distortion of the display should exceed thethreshold, no adjustment should be made. Such a threshold may preventthe display adjustment logic 216 from making frequent and slightadjustments to the display on the touchscreen 104, which may bedisconcerting for the user.

FIG. 13 is a flow diagram illustrating a process 1300 for generatinggaze-assisted touchscreen inputs (e.g., inputs based on contact with thetouchscreen 104), in accordance with some embodiments. The operations ofthe process 1300 (and the other processes described herein), althoughillustrated as performed in a particular sequence for the sake ofillustration, may be performed in parallel as suitable or in any otherorder. For example, operations related to receiving a location signalmay be performed in parallel, partially in parallel, or in any suitableorder, relative to operations related to receiving a touch signal.

Operations of the process 1300 (and the other processes describedherein) may be described as performed by components of the system 200,as embodied in the computing system 100, for illustrative purposes, butthe operations of the process 1300 (and the other processes describedherein) may be performed by any suitably configured computing device orcollection of computing devices. Any of the operations of the process1300 (and the other processes described herein) may be performed inaccordance with any of the embodiments of the systems 100 and 200described herein.

The process 1300 may begin at the operation 1302, in which a gazelocation signal indicative of a region of a user's gaze on thetouchscreen 104 may be received (e.g., by the input registration logic208). The gaze location signal may be generated in accordance with anyof the embodiments described herein. In some embodiments, the gazelocation signal may be generated based on an image of the user's eyesfrom the image capture device 232.

At the operation 1304, a touch signal indicative of a touch of the useron the touchscreen 104 may be received (e.g., by the input registrationlogic 208). The touch signal may be generated in accordance with any ofthe embodiments described herein.

At the operation 1306, an input signal may be generated (e.g., by theinput registration logic 208), based at least in part on the gazelocation signal (received at the operation 1302) and the touch signal(received at the operation 1304). The input signal may be generated inaccordance with any of the embodiments described herein. In someembodiments, the operation 1306 may include selecting one of a pluralityof predetermined touch types based at least in part on the gaze locationsignal and the touch signal, and the input signal may indicate theselected touch type. In some such embodiments, the plurality ofpredetermined touch types may include one or more non-gaze-associatedtypes and one or more gaze-associated types. Selecting one of aplurality of predetermined touch types based at least in part on thegaze location signal and the touch signal may include determining thatthe touch signal indicates that the touch was located outside of theregion of the user's gaze, and, in response to determining that thetouch signal indicates that the touch was located outside of the regionof the user's gaze, selecting a non-gaze-associated type. The process1300 may then end.

FIG. 14 is a flow diagram illustrating a process 1400 for generatinggaze-assisted touchscreen inputs (e.g., inputs based on contact with thetouchscreen 104), in accordance with some embodiments. The process 1400may begin at the operation 1402, in which multiple gaze location signalsindicative of multiple region of corresponding multiple users' gaze onthe touchscreen 104 may be received (e.g., by the input registrationlogic 208). The gaze location signals may be generated in accordancewith any of the embodiments described herein. For example, the gazelocation signals may be generated based on one or more images of theusers' eyes from the image capture device 232. For illustrativepurposes, the remaining discussion of FIG. 14 may refer to two users (afirst user and a second user), but the process 1400 may be applied toany number of users. In some embodiments, the multiple gaze locationsignals may be received at the operation 1402 at least partially inparallel.

At the operation 1404, a touch signal indicative of a touch of a user onthe touchscreen 104 may be received (e.g., by the input registrationlogic 208). The touch signal may be generated in accordance with any ofthe embodiments described herein. In some embodiments, the touch signalmay not identify which user performed the touch. In some embodiments,the operation 1404 may include receiving two touch signals indicative ofthe touch of one or more users on the touchscreen 104. In someembodiments, multiple touch signals may be received at the operation1404 at least partially in parallel.

At the operation 1406, an input signal may be generated (e.g., by theinput registration logic 208) based at least in part on the gazelocation signals (received at the operation 1402) and the touch signal(received at the operation 1404). The input signal may be generated inaccordance with any of the embodiments described herein. In someembodiments, the location of the touch (indicated by the touch signalreceived at the operation 1404) with the gaze regions of the first andsecond users (indicated by the gaze location signals received at theoperation 1402) may be compared (e.g., by the input registration logic208), and the touch may be assigned to one of the first and second users(e.g., by the input registration logic 208). This assignment may bebased on proximity to the gaze regions, and may be executed inaccordance with any of the embodiments discussed herein (e.g., thosediscussed above with reference to FIGS. 7-9). In embodiments of theprocess 1400 in which two touch signals are received at the operation1404, each touch signal may be assigned to the first and second users asdiscussed above (e.g., by the system 200). In some embodiments, a firsttouch may be associated with a first user and a second touch may beassociated with a second user. Thereafter, first and second inputsignals, corresponding to the first and second touches, may be generated(e.g., by the system 200).

At the operation 1408, the display of a visual element based at least inpart on the input signal generated at the operation 1406 may be caused(e.g., by the display logic 214). For example, the movement of a visualelement associated with the first user (e.g., a visual elementrepresenting the first user's avatar in a computer game) in response tothe input signal may be caused. In embodiments in which first and secondinput signals are generated at the operation 1406, the simultaneousdisplay, on the touchscreen 104, of a first visual element based atleast in part on the first input signal and a second visual elementbased at least in part on the second input signal, may be caused (e.g.,by the system 200). An example of such a display was discussed abovewith reference to FIGS. 8-9. The process 1400 may then end.

FIG. 15 is a flow diagram illustrating a process 1500 for generatinggaze-assisted touchscreen inputs (e.g., inputs based on contact with thetouchscreen 104), in accordance with some embodiments. The process 1500may begin at the operation 1502, in which a position signal indicativeof a position of the user's eyes relative to the touchscreen 104 may bereceived (e.g., by the viewing position logic 212). The position signalmay be generated in accordance with any of the embodiments describedherein (e.g., those discussed above with reference to FIGS. 10-12). Forexample, the position signal may be generated based on one or moreimages of the user's eyes from the image capture device 232.

At the operation 1504, an adjustment signal indicative of a desiredvisual distortion based at least in part on the position signal receivedat the operation 1502 may be generated (e.g., by the display adjustmentlogic 216). The adjustment signal may be generated in accordance withany of the embodiments described herein. In some embodiments, theadjustment signal may indicate adjustments to the display of a visualelement on the touchscreen 104 to correct a keystone or related visualeffect arising from the user's perspective on the touchscreen 104.

At the operation 1506, one or more visual elements distorted inaccordance with the adjustment signal may be caused to be displayed ontouchscreen 104 (e.g., by the display logic 214). An example of such adisplay was discussed above with reference to FIGS. 11-12. The process1500 may then end.

In various embodiments, the processes 1300, 1400 and 1500 may becombined in any desired combination to perform touchscreen-related dataprocessing operations. For example, in some embodiments, the process1500 may be performed (e.g., by the system 200) to continually adjustthe display on the touchscreen 104 in response to the position of theuser's eyes. In addition, the adjusted display may include differentvisual elements associated with different users, the display of whichmay be adjusted in response to input signals from the different usersgenerated in accordance with the process 1400. The combined process mayalso include the gaze-associated and non-gaze-associated touch typeoperations discussed above with reference to various embodiments of theprocess 1300. Accordingly, any desired combination of these processesmay be performed to improve a user's touchscreen experience.

Various ones of the embodiments disclosed herein may improve the qualityof experience of a user of a touchscreen device. In particular, someembodiments may improve the ability of computing systems to distinguishbetween two potential touch points that are close together on atouchscreen; by using gaze location information, the computing systemmay improve its ability to identify the desired touch point. Embodimentsthat distinguish between gaze-associated and non-gaze-associated touchtypes may improve the computing system's ability to distinguish betweendifferent touch types (e.g., reducing the likelihood that a pinch willbe mistaken for a tap), enabling better interaction between the user andthe computing system. Some embodiments that employ the displayadjustment techniques disclosed herein may better align the points onthe touchscreen that a user believes she has touched with the points shehas actually touched, reducing user frustration.

The following paragraphs describe examples of embodiments of the presentdisclosure. Example 1 is a computing system with gaze-assistedtouchscreen inputs, including input registration logic to: receive atouch signal indicative of a touch of a user on a touchscreen of thecomputing system, receive a gaze location signal indicative of a regionof a user's gaze on the touchscreen, and generate an input signal to thecomputer system based at least in part on the gaze location signal andthe touch signal.

Example 2 may include the subject matter of Example 1, and may furtherinclude gaze location logic, coupled to the input registration logic, togenerate the gaze location signal.

Example 3 may include the subject matter of Example 2, and may furtherinclude image capture logic, coupled to the gaze location logic, toreceive an image of the user's eyes from an image capture device,wherein the gaze location logic is to generate the gaze location signalbased at least in part on the received image.

Example 4 may include the subject matter of any of Examples 1-3, and mayfurther include touch detection logic, coupled to the input registrationlogic, to generate the touch signal.

Example 5 may include the subject matter of any of Examples 1-4, and mayfurther specify that the input registration logic is to generate theinput signal through selection of one of a plurality of predeterminedtouch types based at least in part on the gaze location signal and thetouch signal, and that the input signal indicates the selected touchtype.

Example 6 may include the subject matter of Example 5, and may furtherspecify that the plurality of predetermined touch types includes one ormore non-gaze-associated types and one or more gaze-associated types,and that selection of one of a plurality of predetermined touch typesbased at least in part on the gaze location signal and the touch signalincludes: determination, based at least in part on the touch signal,that the touch was located outside of the region of the user's gaze;and, in response to the determination that the touch was located outsideof the region of the user's gaze, selection of a non-gaze-associatedtype.

Example 7 may include the subject matter of any of Examples 1-6, and mayfurther specify that the input registration logic is further to: receivea second touch signal indicative of a second touch of the user on thetouchscreen; receive a second gaze location signal indicative of asecond region of the user's gaze on the touchscreen; determine, based atleast in part on the second touch signal, that the second touch waslocated outside of the second region of the user's gaze; determine,based at least in part on the second touch signal, that the second touchsignal is not compatible with any non-gaze-associated touch types; andin response to a determination that the second touch was located outsideof the second region of the user's gaze and a determination that thesecond touch signal is not compatible with any non-gaze-associated touchtypes, ignore the second touch signal for the purposes of generating ofan input signal.

Example 8 may include the subject matter of any of Examples 1-7, and mayfurther specify that the gaze location signal is a first gaze locationsignal, the user is a first user, the touch signal is a first touchsignal, and the input signal is a first input signal, and that the inputregistration logic is to receive a second touch signal indicative of atouch of a second user on the touchscreen, receive a second gazelocation signal indicative of a region of the second user's gaze on thetouchscreen, and generate a second input signal based at least in parton the second gaze location signal and the second touch signal.

Example 9 may include the subject matter of Example 8, and may furtherinclude touch detection logic, coupled to the input registration logic,to generate the first and second touch signals at least partially inparallel.

Example 10 may include the subject matter of any of Examples 8-9, andmay further include display logic to cause the display, on thetouchscreen, of a first visual element based at least in part on thefirst input signal and a second visual element based at least in part onthe second input signal, the first and second visual elements displayedsimultaneously.

Example 11 may include the subject matter of any of Examples 1-10, andmay further specify that the input registration logic is to receive aposition signal indicative of a position of the user's eyes relative tothe touchscreen, and that the input signal is based at least in part onthe position signal.

Example 12 may include the subject matter of Example 11, and may furtherinclude viewing position logic, coupled to the input registration logic,to generate the position signal.

Example 13 may include the subject matter of any of Examples 11-12, andmay further include: display adjustment logic, coupled to the viewingposition logic, to receive the position signal and to generate anadjustment signal indicative of a desired visual distortion based atleast in part on the position signal; and display logic, coupled withthe display adjustment logic, to cause the display, on the touchscreen,of one or more visual elements distorted in accordance with theadjustment signal.

Example 14 is a method for generating gaze-assisted touchscreen inputsfor a computing system, including: receiving, by the computing system, agaze location signal indicative of a region of a user's gaze on atouchscreen of the computing system; receiving, by the computing system,a touch signal indicative of a touch of the user on the touchscreen; andgenerating, by the computing system, an input signal for the computingsystem based at least in part on the gaze location signal and the touchsignal.

Example 15 may include the subject matter of Example 14, and may furtherinclude receiving, by the computing system, an image of the user's eyesfrom an image capture device, wherein the gaze location signal is basedat least in part on the received image.

Example 16 may include the subject matter of any of Examples 14-15, andmay further specify that generating an input signal based at least inpart on the gaze location signal and the touch signal includes selectingone of a plurality of predetermined touch types based at least in parton the gaze location signal and the touch signal, and that the inputsignal indicates the selected touch type.

Example 17 may include the subject matter of Example 16, wherein theplurality of predetermined touch types includes one or morenon-gaze-associated types and one or more gaze-associated types, andwherein selecting one of a plurality of predetermined touch types basedat least in part on the gaze location signal and the touch signalincludes: determining that the touch signal indicates that the touch waslocated outside of the region of the user's gaze; and, in response todetermining that the touch signal indicates that the touch was locatedoutside of the region of the user's gaze, selecting anon-gaze-associated type.

Example 18 may include the subject matter of any of Examples 14-17, andmay further include: receiving a second touch signal indicative of asecond touch of the user on the touchscreen; receiving a second gazelocation signal indicative of a second region of the user's gaze on thetouchscreen; determining, based at least in part on the second touchsignal, that the second touch was located outside of the second regionof the user's gaze; determining, based at least in part on the secondtouch signal, that the second touch signal is not compatible with anynon-gaze-associated touch types; and in response to determining that thesecond touch was located outside of the second region of the user's gazeand that the second touch signal is not compatible with anynon-gaze-associated touch types, ignore the second touch signal for thepurposes of generating an input signal.

Example 19 may include the subject matter of any of Examples 14-18,wherein the gaze location signal is a first gaze location signal, theuser is a first user, the touch signal is a first touch signal, and theinput signal is a first input signal, and wherein the method may furtherinclude: receiving, by the computing system, a second gaze locationsignal indicative of a region of a second user's gaze on thetouchscreen; receiving, by the computing system, a second touch signalindicative of a touch of the second user on the touchscreen; andgenerating, by the computing system, a second input signal based atleast in part on the second gaze location signal and the second touchsignal.

Example 20 may include the subject matter of Example 19, whereinreceiving the first touch signal is performed by the computing system atleast partially in parallel with receiving the second touch signal.

Example 21 may include the subject matter of any of Examples 19-20, andmay further include causing simultaneous display, by the computingsystem on the touchscreen, of a first visual element based at least inpart on the first input signal and a second visual element based atleast in part on the second input signal.

Example 22 may include the subject matter of any of Examples 14-21, andmay further include receiving, by the computing system, a positionsignal indicative of a position of the user's eyes relative to thetouchscreen, wherein the touch signal indicative of a touch of the useron the touchscreen is based at least in part on the position signal.

Example 23 may include the subject matter of Example 22, and may furtherinclude: generating, by the computing system, an adjustment signalindicative of a desired visual distortion based at least in part on theposition signal; and causing display, on the touchscreen, of one or morevisual elements distorted in accordance with the adjustment signal.

Example 24 is one or more computer readable media having instructionsthereon that, when executed by one or more processing devices of acomputing device, cause the computing device to perform the method ofany of Examples 14-23.

Example 25 is an apparatus including one or more processing devices andone or more computer readable media having instructions thereon that,when executed by the one or more processing devices, cause the apparatusto perform the method of any of Examples 14-23.

Example 26 is a system with gaze-assisted touchscreen inputs, including:means for receiving a gaze location signal indicative of a region of auser's gaze on a touchscreen of a computing system; means for receivinga touch signal indicative of a touch of the user on the touchscreen; andmeans for generating an input signal for the system based at least inpart on the gaze location signal and the touch signal.

Example 27 may include the subject matter of Example 26, and may furtherinclude means for generating the gaze location signal.

Example 28 may include the subject matter of Example 27, wherein themeans for generating the gaze location signal includes means forreceiving an image of the user's eyes from an image capture device,wherein the gaze location signal is based at least in part on thereceived image.

Example 29 may include the subject matter of any of Examples 26-28, andmay further include means for generating the touch signal.

Example 30 may include the subject matter of any of Examples 26-29, andmay further specify that the means for generating an input signal basedat least in part on the gaze location signal and the touch signalincludes means for selecting one of a plurality of predetermined touchtypes based at least in part on the gaze location signal and the touchsignal, and that the input signal indicates the selected touch type.

Example 31 may include the subject matter of Example 30, and may furtherspecify that the plurality of predetermined touch types includes one ormore non-gaze-associated types and one or more gaze-associated types,and that the means for selecting one of a plurality of predeterminedtouch types based at least in part on the gaze location signal and thetouch signal includes: means for determining that the touch signalindicates that the touch was located outside of the region of the user'sgaze; and means for, in response to determining that the touch signalindicates that the touch was located outside of the region of the user'sgaze, selecting a non-gaze-associated type.

Example 32 may include the subject matter of any of Examples 26-31, andmay further include: means for receiving a second touch signalindicative of a second touch of the user on the touchscreen; means forreceiving a second gaze location signal indicative of a second region ofthe user's gaze on the touchscreen; means for determining, based atleast in part on the second touch signal, that the second touch waslocated outside of the second region of the user's gaze; and means fordetermining, based at least in part on the second touch signal, that thesecond touch signal is not compatible with any non-gaze-associated touchtypes; wherein the means for generating an input signal is configuredto, in response to determining that the second touch was located outsideof the second region of the user's gaze and that the second touch signalis not compatible with any non-gaze-associated touch types, ignore thesecond touch signal.

Example 33 may include the subject matter of any of Examples 26-32, andmay further specify that the gaze location signal is a first gazelocation signal, the user is a first user, the touch signal is a firsttouch signal, and the input signal is a first input signal, and that thesystem may further include: means for receiving a second gaze locationsignal indicative of a region of a second user's gaze on thetouchscreen; means for receiving a second touch signal indicative of atouch of the second user on the touchscreen; and means for generating asecond input signal based at least in part on the second gaze locationsignal and the second touch signal.

Example 34 may include the subject matter of Example 33, wherein themeans for receiving the first touch signal is configured to receive thefirst touch signal at least partially in parallel with the reception ofthe second touch signal by the means for generating the second touchsignal.

Example 35 may include the subject matter of any of Examples 33-34, andmay further include means for causing simultaneous display, on thetouchscreen, of a first visual element based at least in part on thefirst input signal and a second visual element based at least in part onthe second input signal.

Example 36 may include the subject matter of any of Examples 26-35, andmay further include means for receiving a position signal indicative ofa position of the user's eyes relative to the touchscreen, wherein thetouch signal indicative of a touch of the user on the touchscreen isbased at least in part on the position signal.

Example 37 may include the subject matter of Example 36, and may furtherinclude means for generating the position signal.

Example 38 may include the subject matter of Example 37, and may furtherinclude: means for generating an adjustment signal indicative of adesired visual distortion based at least in part on the position signal,and means for causing display, on the touchscreen, of one or more visualelements distorted in accordance with the adjustment signal.

Although certain embodiments have been illustrated and described herein,it will be appreciated by those of ordinary skill in the art that a widevariety of alternate and/or equivalent embodiments or implementationscalculated to achieve the same purposes may be substituted for theembodiments shown and described without departing from the scope. Thosewith skill in the art will readily appreciate that embodiments may beimplemented in a very wide variety of ways. This application is intendedto cover any adaptations or variations of the embodiments discussedherein.

What is claimed is:
 1. A computer system with gaze-assisted touchscreeninputs, comprising: input registration logic to: receive a touch signalindicative of a touch of a user on a touchscreen of the computer system,receive a gaze location signal indicative of a region of a user's gazeon the touchscreen, determine whether a touch type of the touch signalis classified as a gaze-associated touch type or classified as anon-gaze-associated touch type, determine, based on the touch signal andthe gaze location signal, whether the touch of the user is within theregion of the user's gaze, and generate an input signal to the computersystem based at least in part on the gaze location signal, the touchsignal, the determined touch type, and the determination of whether thetouch of the user is within the region of the user's gaze, wherein togenerate the input signal, the input registration logic is to: generatean alpha input signal when the touch is located within the region of theuser's gaze and has a gaze-associated touch type, wherein the alphainput signal is for performance of an alpha operation, generate a betainput signal when the touch is located outside the region of the user'sgaze and has a gaze-associated touch type, wherein the beta input signalis for performance of a beta operation, and generate a gamma inputsignal when the touch has a non-gaze-associated touch type, wherein thegamma input signal is for performance of a gamma operation.
 2. Thecomputer system of claim 1, further comprising: gaze location logic,coupled to the input registration logic, to generate the gaze locationsignal.
 3. The computer system of claim 2, further comprising: imagecapture logic, coupled to the gaze location logic, to receive an imageof the user's eyes from an image capture device; wherein the gazelocation logic is to generate the gaze location signal based at least inpart on the received image.
 4. The computer system of claim 1, furthercomprising: touch detection logic, coupled to the input registrationlogic, to generate the touch signal.
 5. The computer system of claim 1,wherein: the touch type is one of a plurality of predetermined touchtypes, and the input registration logic is to generate the input signalthrough selection of one of the plurality of predetermined touch typesbased at least in part on the gaze location signal and the touch signal,and the input signal indicates the selected touch type.
 6. The computersystem of claim 5, wherein the plurality of predetermined touch typesincludes one or more non-gaze-associated types and one or moregaze-associated types, and wherein to select one of the plurality ofpredetermined touch types based at least in part on the gaze locationsignal and the touch signal, the input registration logic is to:determine, based at least in part on the touch signal, that the touchwas located outside of the region of the user's gaze; and in response tothe determination that the touch was located outside of the region ofthe user's gaze, select a non-gaze-associated type.
 7. The computersystem of claim 1, wherein the touch signal is a first touch signal, thetouch is a first touch, the gaze location signal is a first gazelocation signal, and the region of a user's gaze is a first region of auser's gaze, and wherein the input registration logic is further to:receive a second touch signal indicative of a second touch of the useron the touchscreen; receive a second gaze location signal indicative ofa second region of the user's gaze on the touchscreen; determine, basedat least in part on the second touch signal, that the second touch waslocated outside of the second region of the user's gaze; determine,based at least in part on the second touch signal, that the second touchsignal is not compatible with any non-gaze-associated touch types; andin response to a determination that the second touch was located outsideof the second region of the user's gaze and a determination that thesecond touch signal is not compatible with any non-gaze-associated touchtypes, ignore the second touch signal for purposes of generating theinput signal.
 8. The computer system of claim 1, wherein the gazelocation signal is a first gaze location signal, the user is a firstuser, the touch signal is a first touch signal, and the input signal isa first input signal, and wherein: the input registration logic is to:receive a second touch signal indicative of a touch of a second user onthe touchscreen, receive a second gaze location signal indicative of aregion of the second user's gaze on the touchscreen, and generate asecond input signal based at least in part on the second gaze locationsignal and the second touch signal.
 9. The computer system of claim 8,further comprising: touch detection logic, coupled to the inputregistration logic, to generate the first and second touch signals atleast partially in parallel.
 10. The computer system of claim 8, furthercomprising: display logic to cause display, on the touchscreen, of afirst visual element based at least in part on the first input signaland a second visual element based at least in part on the second inputsignal, the first and second visual elements displayed simultaneously.11. The computer system of claim 1, wherein the input registration logicis further to receive a position signal indicative of a position of theuser's eyes relative to the touchscreen, and wherein the input signal isbased at least in part on the position signal.
 12. The computer systemof claim 11, further comprising: viewing position logic, coupled to theinput registration logic, to generate the position signal.
 13. Thecomputer system of claim 12, further comprising: display adjustmentlogic, coupled to the viewing position logic, to receive the positionsignal and to generate an adjustment signal indicative of a desiredvisual distortion based at least in part on the position signal; anddisplay logic, coupled with the display adjustment logic, to cause thedisplay, on the touchscreen, of one or more visual elements distorted inaccordance with the adjustment signal.
 14. The computer system of claim1, further comprising: a storage device to store touch information foreach touch of a plurality of touches, wherein the touch informationindicates a touch characteristic of each touch, a touch typeclassification of each touch, and a context for the touch typeclassification of each touch, and wherein the context is one of anapplication, an operating system, or an operating environment.
 15. Amethod for generating gaze-assisted touchscreen inputs for a computersystem, comprising: receiving, by the computer system, a gaze locationsignal indicative of a region of a user's gaze on a touchscreen of thecomputer system; receiving, by the computer system, a touch signalindicative of a touch of the user on the touchscreen; determining, bythe computer system, a touch type of the touch signal, wherein the touchtype is classified as a gaze-associated touch type or classified as anon-gaze-associated touch type; determining, by the computer system,whether the touch of the user is within the region of the user's gazebased on the touch signal and the gaze location signal; and generating,by the computer system, an input signal for the computer system based atleast in part on the gaze location signal, the touch signal, thedetermined touch type, and the determination of whether the touch of theuser is within the region of the user's gaze wherein generating theinput signal comprises: generating an alpha input signal when the touchis located within the region of the user's gaze and has agaze-associated touch type, wherein the alpha input signal is to resultin performance of an alpha operation, generating a beta input signalwhen the touch is located outside the region of the user's gaze and hasa gaze-associated touch type, wherein the beta input signal is to resultin performance of a beta operation, or generating a gamma input signalwhen the touch has a non-gaze-associated touch type, wherein the gammainput signal is to result in performance of a gamma operation.
 16. Themethod of claim 15, wherein the touch signal is a first touch signal,the touch is a first touch, the gaze location signal is a first gazelocation signal, and the region of a user's gaze is a first region of auser's gaze, and the method further comprises: receiving a second touchsignal indicative of a second touch of the user on the touchscreen;receiving a second gaze location signal indicative of a second region ofthe user's gaze on the touchscreen; determining, based at least in parton the second touch signal, that the second touch was located outside ofthe second region of the user's gaze; determining, based at least inpart on the second touch signal, that the second touch signal is notcompatible with any non-gaze-associated touch types; and in response todetermining that the second touch was located outside of the secondregion of the user's gaze and that the second touch signal is notcompatible with any non-gaze-associated touch types, ignoring the secondtouch signal for purposes of generating the input signal.
 17. The methodof claim 15, wherein the gaze location signal is a first gaze locationsignal, the user is a first user, the touch signal is a first touchsignal, and the input signal is a first input signal, and wherein themethod further comprises: receiving, by the computer system, a secondgaze location signal indicative of a region of a second user's gaze onthe touchscreen; receiving, by the computer system, a second touchsignal indicative of a touch of the second user on the touchscreen; andgenerating, by the computer system, a second input signal based at leastin part on the second gaze location signal and the second touch signal.18. One or more non-transitory computer readable media havinginstructions thereon that, when executed by one or more processingdevices of a computer device, cause the computer device to: receive agaze location signal indicative of a region of a user's gaze on atouchscreen of the computer device; receive a touch signal indicative ofa touch of the user on the touchscreen; determine a touch type of thetouch signal, wherein the touch type is one of a gaze-associated touchtype or a non-gaze-associated touch type; determine, based on the touchsignal and the gaze location signal, whether the touch of the user iswithin the region of the user's gaze; and generate an input signal forthe computer system based at least in part on the gaze location signal,the touch signal, the determined touch type, and the determination ofwhether the touch of the user is within the region of the user's gazewherein to generate the input signal, the instructions, when executed,cause the computer device to: generate an alpha input signal when thetouch is located within the region of the user's gaze and has agaze-associated touch type, wherein the alpha input signal is forperformance of an alpha operation, generate a beta input signal when thetouch is located outside the region of the user's gaze and has agaze-associated touch type, wherein the beta input signal is forperformance of a beta operation, or generate a gamma input signal whenthe touch has a non-gaze-associated touch type, wherein the gamma inputsignal is for performance of a gamma operation.
 19. The one or morenon-transitory computer readable media of claim 18, further havinginstructions thereon that, when executed by one or more processingdevices of the computer device, cause the computer device to: receive animage of the user's eyes from an image capture device; wherein the gazelocation signal is based at least in part on the received image.
 20. Theone or more non-transitory computer readable media of claim 18, furtherhaving instructions thereon that, when executed by one or moreprocessing devices of the computer device, cause the computer device to:generate an input signal based at least in part on the gaze locationsignal and the touch signal comprises select one of a plurality ofpredetermined touch types based at least in part on the gaze locationsignal and the touch signal, and wherein the input signal indicates theselected touch type.
 21. The one or more non-transitory computerreadable media of claim 20, wherein the plurality of predetermined touchtypes includes one or more non-gaze-associated types and one or moregaze-associated types, and wherein to select one of a plurality ofpredetermined touch types based at least in part on the gaze locationsignal and the touch signal, the instructions, when executed, cause thecomputer device to: determine that the touch signal indicates that thetouch was located outside of the region of the user's gaze; and inresponse to a determination that the touch signal indicates that thetouch was located outside of the region of the user's gaze, select anon-gaze-associated type.
 22. The one or more non-transitory computerreadable media of claim 18, wherein the touch signal is a first touchsignal, the touch is a first touch, the gaze location signal is a firstgaze location signal, and the region of a user's gaze is a first regionof a user's gaze, and the one or more non-transitory computer readablemedia further having instructions thereon that, when executed by one ormore processing devices of the computer device, cause the computerdevice to: receive a second touch signal indicative of a second touch ofthe user on the touchscreen; receive a second gaze location signalindicative of a second region of the user's gaze on the touchscreen;determine, based at least in part on the second touch signal, that thesecond touch was located outside of the second region of the user'sgaze; determine, based at least in part on the second touch signal, thatthe second touch signal is not compatible with any non-gaze-associatedtouch types; and in response to a determination that the second touchwas located outside of the second region of the user's gaze and adetermination that the second touch signal is not compatible with anynon-gaze-associated touch types, ignore the second touch signal forpurposes of generating the input signal.
 23. The one or morenon-transitory computer readable media of claim 18, wherein the gazelocation signal is a first gaze location signal, the user is a firstuser, the touch signal is a first touch signal, and the input signal isa first input signal, and wherein the one or more computer readablemedia further has instructions thereon that, when executed by one ormore processing devices of the computer device, cause the computerdevice to: receive a second gaze location signal indicative of a regionof a second user's gaze on the touchscreen; receive a second touchsignal indicative of a touch of the second user on the touchscreen; andgenerate a second input signal based at least in part on the second gazelocation signal and the second touch signal.
 24. The one or morenon-transitory computer readable media of claim 23, further havinginstructions thereon that, when executed by one or more processingdevices of the computer device, cause the computer device to: causesimultaneous display, on the touchscreen, of a first visual elementbased at least in part on the first input signal and a second visualelement based at least in part on the second input signal.
 25. The oneor more non-transitory computer readable media of claim 18, furtherhaving instructions thereon that, when executed by one or moreprocessing devices of the computer device, cause the computer device to:receive a position signal indicative of a position of the user's eyesrelative to the touchscreen; wherein the touch signal indicative of atouch of the user on the touchscreen is based at least in part on theposition signal.
 26. The one or more non-transitory computer readablemedia of claim 25, further having instructions thereon that, whenexecuted by one or more processing devices of the computer device, causethe computer device to: generate an adjustment signal indicative of adesired visual distortion based at least in part on the position signal;and cause display, on the touchscreen, of one or more visual elementsdistorted in accordance with the adjustment signal.